package net.longjin.utils;

import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;

/**
 * mybatis 分页工具类
 *
 * @author vb
 */
public class MyBatisPageUtils {

    private static String PAGE_NUM = "pageNum";

    private static String PAGE_SIZE = "pageSize";

    /**
     * @param number       需要转化的值
     * @param defaultValue 默认值
     * @return
     */
    public static Integer convertToInt(Integer number, Integer defaultValue) {
        try {
            if (null != number) {
                return number;
            } else {
                return defaultValue;
            }
        } catch (Exception e) {
            return defaultValue;
        }
    }

    /**
     * mybatis  底层拦截器 相当于sql 后面加limit
     *
     * @param pageNum  页码
     * @param pageSize 每页大小
     */
    public static void startPage(Integer pageNum, Integer pageSize) {
        pageNum = convertToInt(pageNum, 1);
        pageSize = convertToInt(pageSize, 10);
        PageHelper.startPage(pageNum, pageSize);
    }

    /**
     * 封装分布参数：pageSize、pageNum
     *
     * @param params
     * @return
     */
    public static void startPage(JSONObject params) {
        Integer pageNum = convertToInt(params.getInteger(PAGE_NUM), 1);
        Integer pageSize = convertToInt(params.getInteger(PAGE_SIZE), 10);
        PageHelper.startPage(pageNum, pageSize);
    }
}